from selenium import  webdriver
from  selenium.webdriver.chrome.options import Options #用于设置谷歌浏览器
from  selenium.webdriver.chrome.service import Service
#元素定位包
from selenium.webdriver.common.by import By
import  time
#设置浏览器、启动浏览器
def she():
    # 创建设置浏览器对象
    q1 = Options()
    # 禁用沙盒模式
    q1.add_argument('--no-sandbox')
    # 保持浏览器打开状态
    q1.add_experimental_option('detach', True)
    # 创建并启动浏览器
    a1 = webdriver.Chrome(service=Service('chromedriver.exe'), options=q1)
    return a1

a1 = she()
#打开指定网址
a1.get('http://baidu.com')
time.sleep(1)
#关闭当前标签页
#a1.close()
#退出浏览器并释放浏览器驱动
#a1.quit()
#浏览器最大化 a1.maximize_window()
#浏览器最小化 a1.minimize_window()
#浏览器打开位置 a1.set_window_position(200,100)
#浏览器打开尺寸 a1.set_window_size(800,800)
#浏览器截图 a1.get_screenshot_as_file('1.png')
#刷新当前网页 a1.refresh()
#定位一个元素（找到返回结果，找不到报错）
a2 = a1.find_element(By.ID,'kw')
#定位多个元素 a2 = a1.find_elements(By.ID,'kw')
#浏览器查找多个元素document.getElementById('kw')
#元素输入 a2.send_keys('南怀瑾') a2 = a1.find_element(By.ID,'su')
#元素点击 a2.click()
#元素清空 a2.clear()

#元素定位-ID
a1.find_elements(By.ID,'kw')
#元素定位-NAME
a1.find_elements(By.NAME,'wd')
#元素定位-CLASS_NAME，不能有空格 需要切片，有可能随机
#元素定位-TAG-NAME
#1.找到<开头标签名>，不会有唯一元素
#2.重复的标签名字特别多需要切片处理
#元素定位-通过a标签的文本内容找到Link_TEXT精准文本定位，需要切片
#元素定位—PARITIAL_LINK_TEXT:模糊文本搜索
#元素定位-css_selector #id 通过id定位 .class 通过class定位 不叫修饰符=标签头 通过任意类型定位
